# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/mediatek,mt8188-mt6359.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek MT8188 ASoC sound card

maintainers:
  - Trevor Wu <trevor.wu@mediatek.com>

properties:
  compatible:
    const: mediatek,mt8188-mt6359-evb

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: User specified audio sound card name

  audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description:
      A list of the connections between audio components. Each entry is a
      sink/source pair of strings. Valid names could be the input or output
      widgets of audio components, power supplies, MicBias of codec and the
      software switch.

  mediatek,platform:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of MT8188 ASoC platform.

patternProperties:
  "^dai-link-[0-9]+$":
    type: object
    description:
      Container for dai-link level properties and CODEC sub-nodes.

    properties:
      link-name:
        description:
          This property corresponds to the name of the BE dai-link to which
          we are going to update parameters in this node.
        items:
          enum:
            - ADDA_BE
            - DPTX_BE
            - ETDM1_IN_BE
            - ETDM2_IN_BE
            - ETDM1_OUT_BE
            - ETDM2_OUT_BE
            - ETDM3_OUT_BE
            - PCM1_BE

      codec:
        description: Holds subnode which indicates codec dai.
        type: object
        additionalProperties: false
        properties:
          sound-dai:
            minItems: 1
            maxItems: 2
        required:
          - sound-dai

    additionalProperties: false

    required:
      - link-name
      - codec

additionalProperties: false

required:
  - compatible
  - mediatek,platform

examples:
  - |
    sound {
        compatible = "mediatek,mt8188-mt6359-evb";
        mediatek,platform = <&afe>;
        pinctrl-names = "default";
        pinctrl-0 = <&aud_pins_default>;
        audio-routing =
            "Headphone", "Headphone L",
            "Headphone", "Headphone R",
            "AIN1", "Headset Mic";
        dai-link-0 {
            link-name = "ETDM3_OUT_BE";

            codec {
                sound-dai = <&hdmi0>;
            };
        };
    };

...
